import axios from 'axios'
import mpAdapter from 'axios-miniprogram-adapter'
axios.defaults.adapter = mpAdapter
import md5 from "js-md5"

const request=axios.create({
    baseURL:"https://rsms.golxen.com/",
    // baseURL:"http://127.0.0.1:8002",
    transformResponse: [function (data) {
        // 对接收的 data 进行任意转换处理
        return data;
    }],


    // headers: {'token': null},

})


// 添加请求拦截器
request.interceptors.request.use(function (config) {
    // 在发送请求之前做些什么


    if(config.url==="/store/loginUserOnSendMail"
        || config.url==="/store/loginUser"
        && config.data.password!==undefined){
        config.data.password=md5(config.data.password)
    }

    // if (config.method === 'get') {
    //     //  给data赋值以绕过if判断
    //     config.data = true
    // }
    config.headers['Content-Security-Policy']='upgrade-insecure-requests'
    config.headers['Content-Type'] = 'application/json;charset=utf-8';

    if (uni.getStorageSync("rsms-token")!==""){
        console.log("rsms-token:",uni.getStorageSync("rsms-token"))
        config.headers["rsms-token"]=uni.getStorageSync("rsms-token")

    }
    else{
        console.log("null token")
        // config.headers["rsms-token"]=null
        // message.warning("重新登录")
    }

    return config;
}, function (error) {
    // 对请求错误做些什么
    return Promise.reject(error);
});


// 添加响应拦截器
request.interceptors.response.use(function (response) {
    // 2xx 范围内的状态码都会触发该函数。
    // 对响应数据做点什么

    let res = response.data;
    if (res.code===10){
        uni.showToast({
            title:"未登录",
            icon:"error",
            duration: 2000,
        })
        uni.reLaunch({
            url: "/pages/login/index"
        })
        return ;
    }
    // 如果是返回的文件
    if (response.config.responseType === 'blob') {
        return res
    }
    // 兼容服务端返回的字符串数据
    if (typeof res === 'string') {
        res = res ? JSON.parse(res) : res
    }
    return res;

}, function (error) {
    // 超出 2xx 范围的状态码都会触发该函数。
    // 对响应错误做点什么
    return Promise.reject(error);
});

export default request